// pages/beacon_list/beacon_list.js
import { startBeaconDiscovery, onBeaconUpdate } from "../../utils/asyncWx.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    beacons: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    
  },
  onShow(){
    this.startBeaconDiscovery()
    wx.showNavigationBarLoading()
  },
  onHide(){
    // 停止搜索
    wx.stopBeaconDiscovery()
  },
  // 开始搜索附近的beacon设备   Promise 改良版
  async startBeaconDiscovery() {
    const res = await startBeaconDiscovery().catch(err => console.log(err))
    console.log("startBeaconDiscovery success: ", res)
    wx.onBeaconUpdate((res1) => {
      console.log(res1);
      this.setData({
        beacons: res1.beacons
      })
      wx.hideNavigationBarLoading()
    })
  },

  // 选中要绑定的beacon后，将该beacon数据绑定到上页数据的Data中
  handleChooseBeacon(e) {
    console.log(e);
    let { beacon } = e.currentTarget.dataset;
    let pages = getCurrentPages();
    let prevPage = pages[pages.length - 2];

    // -------调试------------
    console.log(beacon)
    // -------调试------------

    prevPage.setData({
      beacon
    })
    // 停止搜索
    wx.stopBeaconDiscovery()
    // 返回上一层
    wx.navigateBack({
      delta: 1
    })
  }

})